package com.ttbj.costsharing.dao;


import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.ttbj.api.dto.CostSharingDto;
import com.ttbj.api.dto.Page;


public interface CostSharingMapper {
	
	/**
	 * 分页，条件查询分账信息
	 * @param costSharing 分成的信息
	 * @param page 分页
	 * @return 分成信息的list列表
	 */
	public List<CostSharingDto> queryCostSharingInfoByPage(@Param("cs") CostSharingDto costSharing, @Param("page") Page page);
	
	/**
	 * 分页，条件查询分账信息数量
	 * @param costSharing 分账信息
	 * @return
	 */
	public Integer queryCostSharingInfoByPageCount(@Param("cs") CostSharingDto costSharing);
	
	/**
	 * 增加分成信息
	 * @param costSharingDto 分成信息 
	 * @return
	 */
	public int insertCostSharingInfo(CostSharingDto costSharingDto);
	
	/**
	 * 通过支付订单号更新状态等信息 
	 * @param costSharingDto 分成信息对象
	 * @return
	 */
	public int updateStatusByPaymentOrderNO(CostSharingDto costSharingDto);
	
	/**
	 * 为了分账撤销，撤销后，通过支付订单号更新分成金额
	 * @param costSharingDto 分账信息，主要是金额信息
	 * @return
	 */
	public int updateCostSharingCarriage(CostSharingDto costSharingDto);
	
	/**
	 * 查询 天/月 分成统计
	 * @param format 天或者月的格式
	 * @param startDate 开始时间
	 * @param endDate 结束时间
	 * @param type 类型：1为短运，2为长运
	 * @return
	 */
	public List<CostSharingDto> queryCostSharingDayOrMonthStatistics(@Param("format") String format, 
									@Param("start") String startDate, @Param("end") String endDate, @Param("type") Integer type);
	
}
